import { _decorator, Component, Node, RichText, Color, Vec3 } from 'cc';
const { ccclass, property } = _decorator;

@ccclass('RichTextModel')
export class RichTextModel extends Component {
    @property(RichText) LabelNode: RichText;
    start() {
        // this.LabelNode.string = "<color=#a61b29>深夜，城市的喧嚣逐渐沉寂，惨白的月光洒在寂静的街道上，映照在你的身躯上，拉出长长的影子。辛苦工作了一天的你，拖着疲惫的身躯，走在回家的路上。在路过那座满是你青春回忆的母校时，你听到了一阵隐隐约约的读书声。起初，你以为是自己听错了，可是随着脚步的临近，那读书声越来越清晰，犹如飘渺的幽魂低语，在你的耳边不断回荡。</color>";
    
        // 示例用法
        // const parentNode = this.node; // 获取父节点
        // const richTextData = [
        //     { text: '<color=#a61b29>深夜，城市的喧嚣逐渐沉寂，惨白的月光洒在寂静的街道上，映照在你的身躯上，拉出长长的影子。</color>', fontSize: 40 },
        //     { text: '这是第二个富文本，<u>带有下划线</u>', fontSize: 40 },
        //     // 添加更多的富文本数据对象
        // ];
        //     this.createRichTexts(parentNode, richTextData);


        let richTextList = [
            {
                Text: '<color=#a61b29>深夜，城市的喧嚣逐渐沉寂，惨白的月光洒在寂静的街道上，映照在你的身躯上，拉出长长的影子。</color>',
            },
            {
                Text: '<color=#a61b29>辛苦工作了一天的你，拖着疲惫的身躯，走在回家的路上。</color>',
            },
            {
                Text: '<color=#a61b29>在路过那座满是你青春回忆的母校时，你听到了一阵隐隐约约的读书声。</color>',
            },
            {
                Text: '<color=#a61b29>起初，你以为是自己出现了错觉，可是随着脚步的临近，那读书声越来越清晰，犹如飘渺的幽魂低语，在你的耳边不断回荡。</color>',
            }
        ]
        let richTextIndex = 0;
        setInterval(() => {
            richTextIndex++;
            this.LabelNode.string += ("<br />" +
             richTextList[richTextIndex].Text);
        }, 3000);
        
        // console.log('LabelNode',this.LabelNode.string);
        

    }
    createRichTexts(parentNode: Node, richTextData: any[]) {
        richTextData.forEach(data => {
            // 创建 RichText 节点
            const richTextNode = new Node();
            parentNode.addChild(richTextNode);
    
            // 添加 RichText 组件到节点上
            const richTextComponent = richTextNode.addComponent(RichText);
    
            // 设置 RichText 的文本内容及其他样式
            richTextComponent.string = data.text; 
            richTextComponent.fontSize = data.fontSize || 24;
            // 根据需求设置其他属性
    
            // 设置 RichText 节点的位置（可根据布局需求进行调整）
            richTextNode.position = data.position || new Vec3(0, 0); 
        });
    }
    

    
    
    update(deltaTime: number) {
        
    }
}


